// WindowAnalysis.h: interface for the WindowAnalysis class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WINDOWANALYSIS_H__4091546E_0FE2_11D6_AC02_5254AB266352__INCLUDED_)
#define AFX_WINDOWANALYSIS_H__4091546E_0FE2_11D6_AC02_5254AB266352__INCLUDED_

#if _MSC_VER > 1000
#pragma once

#endif // _MSC_VER > 1000

#pragma warning (disable:4251)
//#include <stdio.h>
//#include <iostream>
//#include <string.h>
//#include <fstream>
//#include <math.h>
//#include <complex>
//#include <new.h>
	
//#include <string>
//#include <iostream.h>

#include "PowerSpectrum.h"
#include <vector>
#include<complex>
using namespace::std;
struct structCR
{
 long start;
 long end;
 char type;
};


class WindowAnalysis //__declspec(dllexport)   
{
public:

		
	long    *s;
	double   *x; 

	vector<structCR> vecCRegion;
			 WindowAnalysis();
			 WindowAnalysis(int len ,double thold,long intron , long exon);
	virtual  ~WindowAnalysis();
	void	  setWindowLen(int len);
	void	  settherHold(double thold);
	void      setIntronExon(long intron , long exon );
	int		  doFt(const char  * strSeq , char *logfile);
    long    framecount;

private :

	int		lenWindow;
	double  thersHold;
	long	exonCutOff;
	long	intronCutOff;
	int		findexp(int WindowSize);
	//long    framecount;
	complex<double>  * expval;
	WindowAnalysis& WindowAnalysis::operator =(const WindowAnalysis &cwa);
	WindowAnalysis(const WindowAnalysis &cwa);

};

#endif // !defined(AFX_WINDOWANALYSIS_H__4091546E_0FE2_11D6_AC02_5254AB266352__INCLUDED_)
